1. Field of the Invention
The present invention relates to a computer system, and deals more particularly with a method, apparatus, and computer program for operating the computer system such that a virtual connection between a client and gateway can be supported by multiple physical connections in a manner that is transparent to the user. The physical connection may change in response to a number of factors. A graphical user interface is defined which enables the user to monitor connection information.
2. Description of the Related Art
Connecting a computer workstation through a network to a remote host is commonplace today. Many connection techniques can be used, such as: using the workstation's modem to establish a connection over a telephone line; using a Local Area Network (LAN) card such as Token Ring or Ethernet; using a suitable device to establish a wireless connection; etc. The workstation may be any type of computer processor, including laptop, handheld or mobile computers, vehicle-mounted devices, desktop computers, mainframe computers, etc., having processing and communication capabilities. The remote host, similarly, can be one of any number of different types of computer which have processing and communication capabilities. These techniques are well known in the art, and the hardware devices and software which enable their use are readily available. Hereinafter, use of the terms "workstation" or "host" refers to any of these types of computing devices.
When the workstation connects to a remotely-located host, it is necessary to establish connections across one or more networks, which may be LANs or Wide Area Networks (WANs). As used herein, the device that originates the connection will be referred to as the "client", and the device that receives this request will be referred to as the "gateway". A gateway computer (that is, gateway functionality implemented in a computer) is used as a point of entrance into a network, providing the ability for messages to flow between the client and the gateway as a logical end-to-end communication. A network may be accessible through one or more gateway machines. Often, the client will be a mobile device. Many clients may connect to a network through a given gateway.
Currently, the connection between a client and the gateway to which it connects is made using a specific predetermined physical connection. The connection may use a wired medium, or it may use a wireless medium. (Note that a wireless connection will be referred to herein as using a "physical" connection, although that connection may use radio waves, microwaves, etc., for ease of reference in distinguishing this "underlying" connection from the higher-level logical connection that runs over it.) For example, a wired connection may be made over a public switched telephone network (PSTN), etc. A wireless connection may be made using a number of alternative technologies, such as cellular telephone, packet radio network (which may in turn be a public network, or a private network), satellite, microwave, etc. The physical connection may be made during the process of establishing a TCP/IP (Transmission Control Protocol/Internet Protocol) connection. This TCP/IP connection (hereinafter, the "logical connection") then enables applications running on the client and gateway machines to exchange messages in a meaningful way. However, this logical TCP/IP connection is limited to use of one underlying physical connection for the duration of the logical connection. If the physical connection is disrupted (for example, the connection drops or degrades beyond a predefined tolerance), the TCP/IP implementation will end the logical connection. To continue communicating, the client and gateway must begin the connection establishment process anew. This can be very time-consuming, as it may involve a number of processes from detecting an available physical medium (as an alternative, when the prior medium has failed) to performing complicated application-specific requirements such as authentication and negotiation of communication parameters. In addition, disruptions in communications may increase the likelihood of loss of data upon which the application was operating. And, if human users are interacting with the application, such disruptions can cause a great deal of frustration and annoyance.
Some techniques such as "Short-Hold Mode" from the International Business Machines Corporation ("IBM") are known which provide for continuing the logical connection when the physical connection has been disrupted, but the known techniques require reestablishment of a physical connection using the identical type of connectivity. This restriction may completely prevent reestablishing the connection--for example, when a physical device such as the modem has failed--even when a number of other media may be available that could connect the client and gateway. Further, this restriction does not enable the possibility of changing to a different media that may be preferable under changed circumstances. Suppose, for example, that a thunderstorm is causing intolerable noise on the telephone lines which were being used. While a connection can be reestablished over the phone lines, it may be preferable to change to some other available media such as wireless packet radio or other wired connections that may perform better in these circumstances.
Accordingly, a need exists for a technique by which a logical network connection can be maintained in the presence of disruption or failure of the underlying physical network connection. This technique must enable the subsequent physical connection to use a different physical medium, while still retaining the state and data of the application intact in a manner that is transparent to the user. The proposed technique defines a virtual connection between the client and gateway, which is not dependent upon continuous connectivity in the underlying physical connection, and can resume operation even though the physical connection may be established on a different media type. Additionally, the technique of the present invention enables the physical medium to be changed even though the physical connection was not disrupted. This change in medium may be based on a number of factors, such as quality of service or transmission speed, which can be monitored. A graphical user interface ("GUI") is defined whereby the human user may observe a depiction of the available physical connections, their respective status information, and further information regarding the specific physical connection currently in use, etc. Further, this GUI will permit the human user to initiate a change in the physical connection being used, without disruption in the logical connection.